import http from '@/utils/http';

/**
 * 货物分类相关接口
 */
const cargoCategoryApi = {
  /**
   * 获取货物分类列表
   * @param {Object} params - 查询参数
   * @returns {Promise} 请求结果
   */
  getCategoryList(params = {}) {
    return http.get('/cargos/categories', { params });
  },

  /**
   * 获取货物分类详情
   * @param {Number} id - 分类ID
   * @returns {Promise} 请求结果
   */
  getCategoryDetail(id) {
    return http.get(`/cargos/categories/${id}`);
  },

  /**
   * 创建货物分类
   * @param {Object} data - 分类数据
   * @returns {Promise} 请求结果
   */
  createCategory(data) {
    return http.post('/cargos/categories', data);
  },

  /**
   * 更新货物分类
   * @param {Number} id - 分类ID
   * @param {Object} data - 分类数据
   * @returns {Promise} 请求结果
   */
  updateCategory(id, data) {
    return http.put(`/cargos/categories/${id}`, data);
  },

  /**
   * 删除货物分类
   * @param {Number} id - 分类ID
   * @returns {Promise} 请求结果
   */
  deleteCategory(id) {
    return http.delete(`/cargos/categories/${id}`);
  },

  /**
   * 批量删除货物分类
   * @param {Array} ids - 分类ID数组
   * @returns {Promise} 请求结果
   */
  batchDeleteCategories(ids) {
    return http.delete('/cargos/categories/batch', { data: { ids } });
  },

  /**
   * 更新分类排序
   * @param {Array} data - 分类排序数据
   * @returns {Promise} 请求结果
   */
  updateCategoryOrder(data) {
    return http.put('/cargos/categories/order', data);
  }
};

export default cargoCategoryApi; 